package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 培训学员信息对象 TRAINING_CADET
 *
 * @author dp
 * @date 2023-11-27
 */
@Data
public class TrainingCadet extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 培训学员id
     */
    private String cadetId;

    /**
     * 培训学员编码
     */
    private String cadetCode;

    /**
     * 培训学员名称
     */
    @Excel(name = "学员名称")
    private String cadetName;

    /**
     * 性别
     */
    private String genderId;

    /**
     * 性别
     */
    @Excel(name = "性别")
    private String genderName;

    /**
     * 民族
     */
    private String nationId;

    /**
     * 民族
     */
    @Excel(name = "民族")
    private String nationName;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String idcardNo;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 职称
     */
    private String jobtitleId;

    /**
     * 职称
     */
    @Excel(name = "职称")
    private String jobtitleName;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String telephone;

    /**
     * 所学专业
     */
    private String studySpecialtyId;

    /**
     * 所学专业
     */
    @Excel(name = "所学专业")
    private String studySpecialtyName;

    /**
     * 从事专业
     */
    private String professialSpecialtyId;

    /**
     * 从事专业
     */
    @Excel(name = "从事专业")
    private String professialSpecialtyName;

    /**
     * 导师ID
     */
    private String mentorId;

    /**
     * 创建人
     */
    private Long modifyBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date modifyTime;

    /**
     * 培训基地ID
     */
    private String trainingBaseId;

    /**
     * 科室ID
     */
    private String deptId;

    /**
     * 导师ID
     */
    private String modifyId;

    /**
     * 实践基地ID
     */
    private String practiceBaseId;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    private Long isDelete;

    /**
     * 用户id
     */
    private String userId;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("cadetId", getCadetId())
                .append("cadetCode", getCadetCode())
                .append("cadetName", getCadetName())
                .append("genderId", getGenderId())
                .append("nationId", getNationId())
                .append("idcardNo", getIdcardNo())
                .append("birthDate", getBirthDate())
                .append("jobtitleId", getJobtitleId())
                .append("telephone", getTelephone())
                .append("studySpecialtyId", getStudySpecialtyId())
                .append("professialSpecialtyId", getProfessialSpecialtyId())
                .append("mentorId", getMentorId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("modifyBy", getModifyBy())
                .append("modifyTime", getModifyTime())
                .toString();
    }
}
